'use strict';
// 以下代码在云函数 loginWithWechat/index.js 中
exports.main = async (event, context) => {
   // 获取openid 请求地址
	const apiUrl = 'https://api.weixin.qq.com/sns/jscode2session';
  // uniCloud.httpclient 发起请求
	const res = await uniCloud.httpclient.request(apiUrl,
	{
		method: 'GET',
		dataType:"json",
		data: {
			// openid: "o69Jp5JxRGBbjcvU4Q9pR3Wfo_qo"
			// session_key: "BJBR48K6VC3ZMES/cbcgPg=="
			'grant_type' : 'authorization_code',
			'appid'	  : 'wx2b7c1afd110e70b4', //你自己小程序的appid
			'secret'  : '1194fae550f4896a211d97d3dcb1d4c8', // 在小程序管理平台 -> 开发 -> 开发设置中
			'js_code' : event.js_code // wx.login 拿到的code
		}
	});
	
	// 生成一个简单的 token (在实际应用中，应该使用更安全的方法)
	const token = res.data.openid + '_' + Date.now();
	
	// 如果是 H5 平台，设置 cookie
	if (context.PLATFORM === 'h5') {
		context.response.setHeader('Set-Cookie', [
			`token=${token}; path=/; max-age=2592000`, // 30天过期
			`openid=${res.data.openid}; path=/; max-age=2592000`
		]);
	}
	
	// 返回数据给客户端，包括 token
	return {
		...res,
		token: token
	}
};
